﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ServerFrame
{
    //长连接: 连接-> 传输数据 -> 保持连接 -> 传输数据 -> 保持连接 -> .. -> 某方关闭连接，连接关闭
    //短链接: 连接-> 传输数据 -> 关闭连接
    /// <summary>
    /// 服务器底层所需要的参数
    /// </summary>
    public class ServerSetting
    {
        //实现网络连接
        /// <summary>
        /// 服务器默认监听端口号
        /// </summary>
        public int port = 55555;
        /// <summary>
        /// 服务器默认最大的客户端连接数量
        /// </summary>
        public int maxClient = 10000;
        /// <summary>
        /// 消息中心
        /// </summary>
        public AbsHandlerCenter center;


        /// <summary>
        /// 消息编码器（在program里面，实例化setting的时候进行赋值）
        /// </summary>
        public MessageEncode messageEncode;
        /// <summary>
        /// 消息解码器（在program里面，实例化setting的时候进行赋值）
        /// </summary>
        public MessageDecode messageDecode;

        /// <summary>
        /// 消息长度编码器
        /// </summary>
        public LengthEncode lengthEncode;
        /// <summary>
        /// 消息长度解码器
        /// </summary>
        public LengthDecode lengthDecode;

        /// <summary>
        /// 消息加密器
        /// </summary>
        public MessageEncrypt messageEncrypt;

        /// <summary>
        /// 消息解密器
        /// </summary>
        public MessageDecrypt messageDecrypt;

        /// <summary>
        /// 消息压缩器
        /// </summary>
        public CompressEncode compressEncode;

        /// <summary>
        /// 消息解压器
        /// </summary>
        public CompressDecode compressDecode;
    }
}
